/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package Sueca;

/**
 *
 * @author Carolina
 */
public class Partida {

    private Carta[] cartasPartida, cartasPartidaD1, cartasPartidaD2;
    private Rodada[] rodadas;

    int dupla_vencedora;

    private int m_numCartasD1;
    private int m_numCartasD2;

    public Partida(){
        cartasPartidaD1 = new Carta[40];
        cartasPartidaD2 = new Carta[40];

        rodadas = new Rodada[10];

        dupla_vencedora = 0;

        m_numCartasD1 = 0;
        m_numCartasD2 = 0;
    }

    public void pushRodada(Rodada rodada, int ordem){
        rodadas[ordem] = rodada;
    }

    public Rodada getRodada(int ordem){
        return rodadas[ordem];
    }

    public Carta[] getCartasPartida(){

        int j = 0;
        for(int i = 0; i < cartasPartidaD1.length; i++){
            if (cartasPartidaD1[i] != null){
                cartasPartida[j] = cartasPartidaD1[i];
                j++;
            }
        }

        for(int i = 0; i < cartasPartidaD2.length; i++){
            if (cartasPartidaD2[i] != null){
                cartasPartida[j] = cartasPartidaD2[i];
                j++;
            }
        }
        
        return cartasPartida;
    }

    public void levaMesa(Carta[] crts, Integer dupla){
        if (dupla == 1){
            for (int i=0; i<4; i++){
                cartasPartidaD1[m_numCartasD1] = crts[i];
                m_numCartasD1++;
            }
        }else{
            for (int i=0; i<4; i++){
                cartasPartidaD2[m_numCartasD2] = crts[i];
                m_numCartasD2++;
            }
        }
    }

//    public void levaMesa(Carta[] crts, Integer dupla, Integer numCartas){
//        if (dupla == 1){
//            for (int i=0; i<4; i++){
//                cartasPartidaD1[numCartas] = crts[i];
//            }
//        }else{
//            for (int i=0; i<4; i++){
//                cartasPartidaD2[numCartas] = crts[i];
//            }
//        }
//    }

    public int vencePartida(){       

        double soma_d1 = 0;
        double soma_d2 = 0;

        for(int i = 0; i < m_numCartasD1; i++){
            soma_d1 = soma_d1 + cartasPartidaD1[i].GetPonto();
        }

        for (int j = 0; j < m_numCartasD2; j++){
            soma_d2 = soma_d2 + cartasPartidaD2[j].GetPonto();
        }

        m_numCartasD1 = 0;
        m_numCartasD2 = 0;

        if(soma_d1 > soma_d2)
            dupla_vencedora = 1;
        else
            if(soma_d1 < soma_d2)
                dupla_vencedora = 2;
            else
                dupla_vencedora = 3;

        return dupla_vencedora;
    }

}
